package org.scboy.dbms.service;

import java.util.List;

import org.scboy.utils.entitys.coobi.Model;
import org.scboy.utils.entitys.coobi.Page;

/**
 * 微服务管理
 */
public interface BaseAppService {
	
	/**
	 * 分页查询微服务
	 * @param params
	 * @return
	 */
	Page page(Model params);
	
	/**
	 * 新增微服务
	 * @param params
	 * @return
	 */
	boolean add(Model params);
	
	/**
	 * 删除微服务
	 * @param appName
	 * @return
	 */
	boolean delete(String appName);
	
	
	/**
	 * 修改微服务
	 * @param params
	 * @return
	 */
	boolean update(Model params);
	
	/**
	 * 获取微服务
	 * @param appName
	 * @return
	 */
	Model get(String appName);
	
	/**
	 * 获取所有应用的权限地址
	 * @return
	 */
	List<Model> getAppPaths(String type);
	
	/**
	 * 微服务列表
	 * @return
	 */
	List<Model>  list();
	
	void register(String ip, int port, String appName,String deploymentPath,String config,String docType);

	/**
	 * 上传微服务二进制
	 * @param binary
	 * @return
	 */
	boolean upload(String appName,byte[] binary);
}
